Application programs that are written toward windowed and graphical capabilities of operating systems often contain specialized programming to paint the contents of the application windows. Examples of such specialization include programming to construct graphs, charts, or complex diagrams related to specific domains of knowledge. In effect, what is drawn, or painted, within an application's window is specific to the application, and is independent of the operating system.
One function of a debugger is to enable an application to be stopped at selected places in its programming in order to observe various execution states of the application. An application which is so operated upon by a debugger is referred to herein as a "debuggee". However, when a debuggee window application is stopped by a debugger, it is no longer possible for the application to re-paint or refresh its windows, in that the programming that paints the windows cannot be executed. Consequently, if other, non-halted application windows are placed over the debuggee's windows and then subsequently removed, the images of these windows remain over the debuggee windows. This undesirable condition is known as "ghosting".
Because the ghosting effect tends to obfuscate the work environment, the visual content of the debuggee's window(s) is not available to contribute important information that is relevant to the debugging of the application.
The following U.S. Patents are exemplary of various program debugging and/or windowing systems:
U.S. Pat. No. 4,589,068 "Segmented Debugger" (Heinen, Jr.); U.S. Pat. No. 4,703,446 "Data Processing Unit Diagnosis Control Apparatus" (Momose); U.S. Pat. No. 4,720,778 "Software Debugging Analyzer" (Hall et al.); U.S. Pat. No. 4,872,167 "Method for Displaying Program Executing Circumstances and an Apparatus Using the Same" (Maezawa et al.); U.S. Pat. No. 4,885,717 "System for Graphically Representing Operation of Object-Orientated Programs" (Beck et al.); commonly assigned U.S. Pat. No. 4,941,102 "Two-Step Debugger for Expert Systems" (Darnell et al.); U.S. Pat. No. 4,943,968 "Method of Displaying Execution Trace in a Logic Programming Language Processing System" (Hirose et al.); U.S. Pat. No. 5,038,348 "Apparatus for Debugging a Data Flow Program" (Yoda et al.); and commonly assigned U.S. Pat. No. 5,050,105 "Direct Cursor-Controlled Access to Multiple Application Programs and Data" (Peters).
Also of interest is an IBM Technical Disclosure Bulletin, Vol. 31, No. 8, January 1989 entitled "Method for Providing a Separate Display for Debugger I/O Operations" by W. J. Cheney.
The teaching of the foregoing patents and literature does not, however, provide a satisfactory solution to the ghosting effect that was described previously.
It is thus one object of this invention to provide a debugger that employs a window restoration method for a halted application.
It is a further object of this invention to provide a method that prevents the loss of information within a window of a halted application program.